Similar to this above mentioned application, the present application relates to a shaping method to convert an incoming data flow with an incoming data packet rate into an outgoing data flow with an outgoing data packet rate. Furthermore, the invention relates to a shaper and a marker that realizes such a shaping method, and to a communication network including any one of such a shaper and such a marker.
New applications and user requirements are driving the need for the evolution from the single Best-effort service provided by the Internet today towards a network where different levels of service are supported. Two models are defined to provide different levels of service, namely the Integrated Services (Intserv) model and the Differentiated Services (Diffserv) model.
The Intserv model has been proposed to provide a set of service commitments, ranging from throughput guarantees to bounds on the end to end delay and packet loss at the flow level, whereas the concept of Diffserv designs a Type of Service (ToS) field of the IP header to allow different types of IP datagrams to be distinguished from each other so that they could be forwarded differently. The Diffserv model reuses the ToS field, named Diffserv Code-Point (DSCP) to indicate the “Quality of Service” of the packet.
Although that the present application is applicable in different kinds of telecommunication networks, as will be explained later herein, the principle working of the present invention will be explained in the context of such a Diffserv network.
The Diffserv model reuses the ToS field, renamed as Diffserv Codepoint DSCP in order to indicate the ‘QoS requirement’ of the packet. Since each packet contains its own ‘QoS requirement’ that determines the way it should be treated at each hop, state information for individual flows is no longer necessary. The scalability issue has, in addition, introduced the need for traffic aggregation that aims at providing QoS without having to distinguish individual flows.
In such a Diffserv network, the incoming data is subject to marking that assigns a low drop probability to a portion of the packets not exceeding a subscribed profile, i.e., a traffic contract, and a higher drop probability for the remaining packets, called the excess traffic. Such markers are for instance token bucket based such as a single rate three color marker and a two rates three color marker. The marking process, which is negotiated as part of the Service Level Agreement SLA, is generally implemented at the interface between the customer and the Internet Service provider ISP or between two different ISP'S.
It has to be remarked that according to the used terminology the traffic is metered before being marked. Usually, both functionalities are combined in a single device whereby the term traffic marking is often used to refer to both functions, i.e., metering and marking.
It has to be explained that according to the DSCP field, a priority also called a color is assigned to a packet e.g. a green packet, a yellow packet or a red packet. In the core network, a green packet has the lowest drop probability, a yellow packet has a higher drop probability and finally, a red packet has the highest drop probability. A marker can work in a colorblind mode or in a color aware mode. When a marker works in a colorblind mode, it will not look to the color of the incoming packet and each packet is subject to an identical installed algorithm in order to be marked by the marker with one of the applicable colors. Such an algorithm takes, e.g., the traffic rate into account in order to determine the color for a packet. When a marker works in a color aware mode, the marker takes the color of the incoming packet into account in order to define an eventual other color for the packet.
A performance degradation is observed for Internet working traffic, i.e., traffic generated by applications running on top of Transmission Control Protocol TCP or User Data Protocol UDP, due to the burstiness of the traffic resulting of, e.g., the application's packet generation process which is bursty by nature. Indeed, for example WEB browsing exhibits ON/OFF traffic that corresponds to the download of a web page and the time needed to read the page, respectively.
Due to the burstiness, several packets can be marked out-of-profile with high drop precedence even if the long-term average throughput that is estimated for a large time-scale of the traffic aggregate is in most of the times, less than the subscribed profile.
In order to improve the performance of a marker, shapers are used. A rate adaptive shaper improves the performance of, e.g., TCP traffic when a marker is used at the ingress of a diffserv network by reducing the burstiness of the traffic and thus by increasing the proportion of packets marked as low drop probability, i.e., high priority, e.g., green, by the marker. Indeed, by reducing the burstiness of the traffic, the shapers increase the percentage of packets marked as green by the marker and thus the overall throughput of the users using such a shaper.
In this way, a rate adaptive shaper aims at increasing the ratio of packets that are assigned the highest level of forwarding treatment by buffering and appropriate scheduling of packets before applying traffic control functions.
A shaping method for use by such a shaper in a communication network converts an incoming data flow with an incoming data packet rate into an outgoing data flow with an outgoing data packet rate and comprises the following steps:                buffering, by a buffer of the shaper, data packets of the incoming data flow and generating thereby buffered data packets; and        determining, by a first determiner of the shaper, a leaking time moment for one of the buffered data packets, the leaking time moment is a time moment at which the buffered data packet must be leaked by the shaper and that determines thereby the outgoing data packet rate.        
A classical shaper, known in the prior art, delays packets of a packet stream until they are conforming to a predefined traffic contract algorithm. This means that for a classical shaper the outgoing data packet rate is determined according to the parameters of the installed traffic contract. The meter/marker calculates a release time for a received data packet of a data stream according to the installed traffic contract algorithm in order to remain the data packet in profile and provides this release time to the classical shaper. The shaper will release the data packet according to this received release time. However, a disadvantage of such a classical shaper is that it does not allow excess traffic. This means that there is no minimum level installed upon the release time that is needed to support TCP traffic efficiently. At a certain moment in time, the buffer of a classical shaper will become full and the classical shaper will discard packets.
The above mentioned application first describes a shaper used for video services that smoothes the traffic as a function of the past information of the incoming data packet rate as well as the actual buffer occupancy of the buffer.
This smoothing method which is suited for, e.g., variable bit rate video services is, however, improved by the mentioned application in order to support also service categories with a predetermined minimum guaranteed bandwidth which allow the use of excess bandwidth. The improvement is realized by determining the adaptive outgoing data packet rate as a function of the future incoming data packet rate and the actual buffer occupancy and, furthermore, as a function of traffic parameters related to the incoming data traffic such as the predefined peak data packet rate and the predefined minimum data packet rate. This is described in the above-referred application. In this way a shaper is described that determines an adaptive output rate, i.e., consecutive release times for the consecutive data packets, based upon traffic contract parameters related to the incoming data flow, such as a minimum cell rate and a peak cell rate.
Such a rate adaptive shaper, however, does not take the result of a traffic contract algorithm into account. This means that the shaper calculates a release time and might delay a data packet although it would already have been allowed to release the packet according to the traffic contract.